import xlrd
import re

wb=xlrd.open_workbook(r'5.baidu-员工的人员信息.xls')
sheet=wb.sheet_by_index(0)
data=[]
for row in range(1,sheet.nrows):
    data.append(sheet.row_values(row))

cloumns = sheet.row_values(0)
print(cloumns)
#print(data)
#a)	统计表格中有多少人
print(f"表格中共{len(data)}人")
#b)	统计办电信，联通，移动的用户数量并计算出三种用户的占比
mobile=0
unicom=0
telecom=0
pattern_m=re.compile(r"134|135|136|138|139|147|150|151|"
                     r"152|157|158|159|178|182|183|184|"
                     r"187|188|1703|1705|1706")
pattern_u=re.compile(r"130|131|132|145|155|156|175|176|"
                     r"185|186|1704|1707|1708|1709|171")
pattern_t=re.compile(r"133|149|153|173|177|180|181|189|"
                     r"|1700|1701|1702")
for i in range(len(data)):
    if re.search(pattern_m,data[i][5]):
        mobile+=1
    elif re.search(pattern_u,data[i][5]):
        unicom+=1
    elif re.search(pattern_t,data[i][5]):
        telecom+=1

print(f"移动用户数量为：{mobile}，占比{(mobile/len(data))*100:.2f}%\n"
      f"联通用户数量为：{unicom}，占比{(unicom/len(data))*100:.2f}%\n"
      f"电信用户数量为：{telecom}，占比{(telecom/len(data))*100:.2f}%\n")

#c)	总公司男女人数
male=0
female=0
for i in range(len(data)):
    if data[i][8]=='男':
        male+=1
    elif data[i][8]=='女':
        female+=1

print(f"共有{male}个男人\n共有{female}个女人")
#d)	年龄超过45岁的老员工人数
count=0
for i in range(len(data)):
    if int(data[i][7])>45:
        count+=1

print(f"年龄超过45岁的老员工有：{count}人\n")

#e)	薪资高于8000元的高薪人员数量和薪资低于3000的底薪人员数量
high=0
low=0
for i in range(len(data)):
    if int(data[i][11])>8000:
        high+=1
    if int(data[i][11])<3000:
        low+=1

print(f"薪资高于8000元的高薪人员数量为:{high}\n薪资低于3000的低薪人员数量为:{low}")
#f)	统计去传媒公司的工作的人员数量
count=0
for i in range(len(data)):
    if '传媒' in str(data[i][13]):
        count+=1

print(f"去传媒公司的工作的人员数量为：{count}\n")

#g)	统计一下可能在疫情高危地区的人数（高危地区：黑龙江，北京，福建，四川）
count=0
for i in range(len(data)):
    if '黑龙江省' in str(data[i][9]):
        count+=1
    elif '北京市' in str(data[i][9]):
        count+=1
    elif '福建省' in str(data[i][9]):
        count+=1
    elif '四川省' in str(data[i][9]):
        count+=1
print(f"可能在疫情高危地区的人数为：{count}\n")